<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>env txn</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB TCL API Reference" />
    <link rel="up" href="tclapi.html" title="Chapter 1.  Berkeley DB Tcl APIs" />
    <link rel="prev" href="env_remove.html" title="berkdb envremove" />
    <link rel="next" href="txn_abort.html" title="txn abort" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center"><span class="emphasis"><em>env</em></span> txn</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="env_remove.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 1. 
                Berkeley DB Tcl APIs
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="txn_abort.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="txn"></a><span class="emphasis"><em>env</em></span> txn</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">env txn
	[-nosync]
	[-nowait]
	[-parent txnid]
	[-sync]  </pre>
      <p>
         The <span class="emphasis"><em>env</em></span> <span class="bold"><strong>txn</strong></span>
         command begins a transaction.  The returned transaction handle is
         bound to a Tcl command of the form <span class="bold"><strong>env.txnX</strong></span>, where X is an integer starting at 0
         (for example, env0.txn0 and env0.txn1). It is through this Tcl command
         that the script accesses the transaction methods.
    </p>
      <p>
        The options are as follows:
    </p>
      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>
                 <span class="bold"><strong>-nosync</strong></span> 
            </p>
            <p>
                 Do not synchronously flush the log when this transaction commits or
                 prepares. This means the transaction will exhibit the ACI (atomicity,
                 consistency, and isolation) properties, but not D (durability); that
                 is, database integrity will be maintained, but it is possible that
                 this transaction may be undone during recovery instead of being
                 redone.     
             </p>
            <p>
                 This behavior may be set for an entire Berkeley DB environment as part
                 of the <span class="bold"><strong>berkdb env</strong></span> call.
            </p>
          </li>
          <li>
            <p>
                  <span class="bold"><strong>-nowait</strong></span> 
            </p>
            <p>
                 If a lock is unavailable for any Berkeley DB operation performed in
                 the context of this transaction, throw a Tcl error immediately instead
                 of blocking on the lock.
            </p>
          </li>
          <li>
            <p>
                  <span class="bold"><strong>-parent txnid</strong></span> 
            </p>
            <p>
                 Create the new transaction as a nested transaction, with the specified
                 transaction indicated as its parent.  Transactions may be nested to
                 any level.
            </p>
          </li>
          <li>
            <p>
                  <span class="bold"><strong>-sync</strong></span> 
            </p>
            <p>
                 Synchronously flush the log when this transaction commits or prepares.
                 This means the transaction will exhibit all of the ACID (atomicity,
                 consistency, isolation, and durability) properties.     
             </p>
            <p>
                 This behavior is the default for Berkeley DB environments unless the
                 <span class="bold"><strong>-nosync</strong></span> option was specified to the
                 <span class="bold"><strong>berkdb env</strong></span> call.
            </p>
          </li>
        </ul>
      </div>
      <p>
         The <span class="emphasis"><em>env</em></span> <span class="bold"><strong>txn</strong></span>
         command returns a transaction handle on success.
    </p>
      <p>
        In the case of error, a Tcl error is thrown.
    </p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="env_remove.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="tclapi.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="txn_abort.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">berkdb envremove </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> <span class="emphasis"><em>txn</em></span> abort</td>
        </tr>
      </table>
    </div>
  </body>
</html>
